//
//  OADMocker.m
//  OASDK_Works
//
//  Created by ChenJie on 3/31/20.
//  Copyright © 2020 Mist. All rights reserved.
//

#import "OADMocker.h"

#define kTitleText @"与其他Internet服务一样，由于冠状病毒的爆发，全世界很多人都在家里，因此\
WhatsApp的使用率近年来也在不断增长。如此多的人同时使用WhatsApp，让服务时不时地中断。但据母公司\
Facebook称，WhatsApp已经将其服务器容量增加了一倍，以防止由于使用率过高而导致服务停机。\
今天，WhatsApp似乎已经实施了其他限制，因为WhatsApp不再允许持续时间超过15秒的视频在WhatsApp Status\
上发布。\
以前，用户可以发布最长30秒的视频。目前，这项新的限制措施仅在印度适用，但相信会在其他地方也采取类似措施，\
尤其是在欧洲。\
WhatsApp最新更新内容显示，如果视频时间超过16秒，则无法再将视频发送到WhatsApp Status，现在仅允许 \
发布持15秒的视频，这可能是减少服务器基础架构流量的一项举措"

#define kContentText @"数以亿计的人呆在室内，彼此隔离，努力减缓流行性冠状病毒的传播，防止医院被病人压垮。\
为了保持联系，人们纷纷转向Facebook及其WhatsApp和Instagram子公司等社交网络。Slack是一款很受欢迎\
的商务聊天应用，它的竞争对手微软Skype也吸引了数以百万计的新用户，他们希望在家工作时能与同事保持联系。\n\
现在，微软表示其视频聊天和通话应用程序Skype也引起了人们的极大兴趣。该公司表示，现在每天有4000万人使用\
Skype，比一个月前增长了70%。该公司表示，Skype到Skype的通话量也增加了220%。该公司表示，在过去的六个\
月中，该公司总共拥有2亿活跃用户。\n\
\n\
微软表示，与亲人保持联系从未像现在这样重要。微软致力于推动其搜索，设备和现代生活计划。现在，Skype推出\
最新功能，称为“ Meet Now”，使人们可以通过其网络浏览器创建视频聚会，而不必强迫其他参与者注册或下载软件。"

@interface OADMocker ()

@end

@implementation OADMocker

#pragma mark - Lifecycle methods

- (instancetype)init {
    self = [super init];
    if (self) {
    }
    return self;
}

#pragma mark - Public methods

+ (NSString *)mockTitle {
    return [self mockStringWithFullText:kTitleText minLength:10 maxLength:40];
}

+ (NSString *)mockTitleWithMinLength:(NSInteger)minLength maxLength:(NSInteger)maxLength {
    return [self mockStringWithFullText:kTitleText minLength:minLength maxLength:maxLength];
}

+ (NSString *)mockContent {
    return [self mockStringWithFullText:kContentText minLength:100 maxLength:150];
}

+ (NSString *)mockContentWithMinLength:(NSInteger)minLength maxLength:(NSInteger)maxLength {
    return [self mockStringWithFullText:kContentText minLength:minLength maxLength:maxLength];
}

+ (NSString *)mockTextWithMinLength:(NSInteger)minLength maxLength:(NSInteger)maxLength {
    return [self mockStringWithFullText:kContentText minLength:minLength maxLength:maxLength];
}

+ (NSString *)mockStringWithFullText:(NSString *)fullText {
    return [self mockStringWithFullText:fullText maxLength:0];
}

+ (NSString *)mockStringWithFullText:(NSString *)fullText maxLength:(NSInteger)maxLength {
    return [self mockStringWithFullText:fullText minLength:0 maxLength:maxLength];
}

+ (NSString *)mockStringWithFullText:(NSString *)fullText minLength:(NSInteger)minLength maxLength:(NSInteger)maxLength {
    NSRange randomRange = [self randomRangeWithFullLength:fullText.length minLength:minLength maxLength:maxLength];
    return [fullText substringWithRange:randomRange];
}

+ (NSRange)randomRangeWithFullLength:(NSInteger)length {
    return [self randomRangeWithFullLength:length maxLength:0];
}

+ (NSRange)randomRangeWithFullLength:(NSInteger)fullLength maxLength:(NSInteger)maxLength {
    return [self randomRangeWithFullLength:fullLength minLength:0 maxLength:maxLength];
}

+ (NSRange)randomRangeWithFullLength:(NSInteger)fullLength minLength:(NSInteger)minLength maxLength:(NSInteger)maxLength {
    NSInteger randomLocation = arc4random() % (fullLength - minLength + 1);
    NSInteger remainLength = fullLength - randomLocation;
    if (maxLength && maxLength <= remainLength) {
        remainLength = maxLength;
    }
    NSInteger randomLength = arc4random() % (remainLength - minLength + 1) + minLength;
    return NSMakeRange(randomLocation, randomLength);
}

#pragma mark - Private methods



#pragma mark - Delegate methods



#pragma mark - Setter



#pragma mark - Getter



#pragma mark - Memory management methods

- (void)dealloc {
}

@end
